<!DOCTYPE html SYSTEM "about:legacy-compat">
<html lang="en"><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-15"><title>Apache JMeter
          -
          User's Manual</title><meta name="viewport" content="width=device-width, initial-scale=1"><link href="http://fonts.googleapis.com/css?family=Merriweather:400normal" rel="stylesheet" type="text/css"><link rel="stylesheet" type="text/css" href="../css/new-style.css"></head><body role="document"><a href="#content" class="hidden">Main content</a><div class="header"><!--
            APACHE LOGO
          --><div><a href="http://www.apache.org"><img title="Apache Software Foundation" width="290" height="75" src="../images/asf-logo.png" alt="Logo ASF"></a></div><!--
              PROJECT LOGO
            --><div><a href="http://jmeter.apache.org/"><img src="../images/logo.jpg" alt="Apache JMeter"></a></div><div class="twitter"><div><a href="https://twitter.com/share" class="twitter-share-button" data-text="Powerful Load Testing with Apache #JMeter" data-via="ApacheJMeter" data-lang="en-gb" data-size="large">Tweet</a><script>
            (function(d,s,id){
              var js,
                  fjs=d.getElementsByTagName(s)[0],
                  p=/^http:/.test(d.location)?'http':'https';
              if (!d.getElementById(id)) {
                  js=d.createElement(s);
                  js.id=id;
                  js.src=p+'://platform.twitter.com/widgets.js';
                  fjs.parentNode.insertBefore(js,fjs);
              }
            })(document, 'script', 'twitter-wjs');
              </script></div><div><a href="https://twitter.com/ApacheJMeter" class="twitter-follow-button" data-show-count="false" data-lang="en-gb" data-size="large">Follow</a><script>(function(d,s,id){
                var js,
                    fjs=d.getElementsByTagName(s)[0],
                    p=/^http:/.test(d.location)?'http':'https';
                if (!d.getElementById(id)) {
                    js=d.createElement(s);
                    js.id=id;
                    js.src=p+'://platform.twitter.com/widgets.js';
                    fjs.parentNode.insertBefore(js,fjs);
                }
            })(document, 'script', 'twitter-wjs');
              </script></div></div><div class="banner"><iframe src="http://www.apache.org/ads/bannerbar.html" style="border-width:0;" frameborder="0" scrolling="no"></iframe><div class="clear"></div></div></div><div class="nav"><ul class="menu"><li><div class="menu-title">About</div><ul><li><a href="../index.html">Overview</a></li><li><a href="http://twitter.com/ApacheJMeter">JMeter on Twitter<img src="../images/twitter.png" alt="Icon for JMeter on Twitter"></a></li><li><a href="../issues.html">Issue Tracking</a></li><li><a href="http://projects.apache.org/feeds/rss/jmeter.xml">Subscribe to What's New</a></li><li><a href="http://www.apache.org/licenses/">License</a></li></ul></li></ul><ul class="menu"><li><div class="menu-title">Download</div><ul><li><a href="../download_jmeter.cgi">Download Releases</a></li><li><a href="../nightly.html">Developer (Nightly) Builds</a></li></ul></li></ul><ul class="menu"><li><div class="menu-title">Documentation</div><ul><li><a href="../changes.html">Changes per version</a></li><li><a href="../usermanual/get-started.html">Get Started</a></li><li><a href="../usermanual/index.html">User Manual</a></li><li><a href="../usermanual/best-practices.html">Best Practices</a></li><li><a href="../usermanual/component_reference.html">Component Reference</a></li><li><a href="../usermanual/functions.html">Functions Reference</a></li><li><a href="../api/index.html">Javadocs</a></li><li><a href="../building.html">Building JMeter and Add-Ons</a></li><li><a href="http://wiki.apache.org/jmeter">JMeter Wiki</a></li><li><a href="http://wiki.apache.org/jmeter/JMeterFAQ">FAQ (Wiki)</a></li></ul></li></ul><ul class="menu"><li><div class="menu-title">Tutorials (PDF format)</div><ul><li><a href="../usermanual/jmeter_distributed_testing_step_by_step.pdf">Distributed Testing</a></li><li><a href="../usermanual/jmeter_proxy_step_by_step.pdf">Recording Tests</a></li><li><a href="../usermanual/junitsampler_tutorial.pdf">JUnit Sampler</a></li><li><a href="../usermanual/jmeter_accesslog_sampler_step_by_step.pdf">Access Log Sampler</a></li><li><a href="../extending/jmeter_tutorial.pdf">Extending JMeter</a></li></ul></li></ul><ul class="menu"><li><div class="menu-title">Community</div><ul><li><a href="http://wiki.apache.org/jmeter/JMeterCommitters">Contributors</a></li><li><a href="../mail.html">Mailing Lists</a></li><li><a href="../svnindex.html">SVN Repositories</a></li></ul></li></ul><ul class="menu"><li><div class="menu-title">Foundation</div><ul><li><a href="http://www.apache.org/">ASF</a></li><li><a href="http://www.apache.org/foundation/getinvolved.html">Get Involved in the ASF</a></li><li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li><li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li></ul></li></ul></div><div class="main" id="content"><ul class="pagelinks"><li><a href="../index.html">Index</a></li><li><a href="intro.html">Next &gt;</a></li></ul><div class="section"><h1 id="index">User's Manual<a class="sectionlink" href="#index" title="Link to here">&para;</a></h1>
<p>Click on the section name to go straight to the section. 
    Click on the "+" to go to the relevant section of the detailed section list,
    where you can select individual subsections.</p>

<div class="subsection"><h2>Section Summary<a class="sectionlink" href="#summary" title="Link to here">&para;</a></h2>
<ul>
  <li><a href="../changes.html">Changes</a></li>
  <li><a href="#intro">+</a>...<a href="intro.html">1. Introduction</a></li>
  <li><a href="#get-started">+</a>...<a href="get-started.html">2. Getting Started</a></li>
  <li><a href="#build-test-plan">+</a>...<a href="build-test-plan.html">3. Building a Test Plan</a></li>
  <li><a href="#test_plan">+</a>...<a href="test_plan.html">4. Elements of a Test Plan</a></li>
  <li><a href="#build-web-test-plan">+</a>...<a href="build-web-test-plan.html">5. Building a Web Test Plan</a></li>
  <li><a href="#build-adv-web-test-plan">+</a>...<a href="build-adv-web-test-plan.html">6. Building an Advanced Web Test Plan</a></li>
  <li><a href="#build-db-test-plan">+</a>...<a href="build-db-test-plan.html">7. Building a Database Test Plan</a></li>
  <li><a href="#build-ftp-test-plan">+</a>...<a href="build-ftp-test-plan.html">8. Building an FTP Test Plan</a></li>
  <li><a href="#build-ldap-test-plan">+</a>...<a href="build-ldap-test-plan.html">9a. Building an LDAP Test Plan</a></li>
  <li><a href="#build-ldapext-test-plan">+</a>...<a href="build-ldapext-test-plan.html">9b. Building an Extended LDAP Test Plan</a></li>
  <li><a href="#build-ws-test-plan">+</a>...<a href="build-ws-test-plan.html">10. Building a Webservice Test Plan</a></li>
  <li><a href="#build-jms-point-to-point-test-plan">+</a>...<a href="build-jms-point-to-point-test-plan.html">11. Building a JMS Point to point Test Plan</a></li>
  <li><a href="#build-jms-topic-test-plan">+</a>...<a href="build-jms-topic-test-plan.html">12. Building a JMS Topic Test Plan</a></li>
  <li><a href="#build-monitor-test-plan">+</a>...<a href="build-monitor-test-plan.html">13. Building a Monitor Test Plan</a></li>
  <li><a href="#listeners">+</a>...<a href="listeners.html">14. Listeners</a></li>
  <li><a href="#remote-test">+</a>...<a href="remote-test.html">15. Remote Testing</a></li>
  <li><a href="#realtime-results">+</a>...<a href="realtime-results.html">16. Real time Results</a></li>
  <li><a href="#best-practices">+</a>...<a href="best-practices.html">17. Best Practices</a></li>
  <li><a href="#boss">+</a>...<a href="boss.html">18. Help! My boss wants me to load test our web app!</a></li>
  <li><a href="#component_reference">+</a>...<a href="component_reference.html">19. Component Reference</a></li>
  <li><a href="#functions">+</a>...<a href="functions.html">20. Functions</a></li>
  <li><a href="#regex">+</a>...<a href="regular_expressions.html">21. Regular Expressions</a></li>
  <li><a href="#hints">+</a>...<a href="hints_and_tips.html">22. Hints and Tips</a></li>
  <li><a href="#glossary">+</a>...<a href="glossary.html">23. Glossary</a></li>
</ul>
</div>
<div class="subsection"><h2>Detailed Section List<a class="sectionlink" href="#details" title="Link to here">&para;</a></h2>
<ul>
  <li><a name="intro"></a><a href="intro.html">1. Introduction</a></li>
  <ul>
     <li><a href="intro.html#history">1.1 History</a></li>
     <li><a href="intro.html#future">1.2 The Future</a></li>
  </ul>
  <li><a name="get-started"></a><a href="get-started.html">2. Getting Started</a></li>
  <ul>
     <li><a href="get-started.html#requirements">2.1 Requirements</a></li>
     <ul>
        <li><a href="get-started.html#java_versions">2.1.1 Java Version</a></li>
        <li><a href="get-started.html#os">2.1.2 Operating Systems</a></li>
     </ul>
     <li><a href="get-started.html#optional">2.2 Optional</a></li>
     <ul>
        <li><a href="get-started.html#opt_compiler">2.2.1 Java Compiler</a></li>
        <li><a href="get-started.html#opt_sax">2.2.2 SAX XML Parser</a></li>
        <li><a href="get-started.html#opt_email">2.2.3 Email Support</a></li>
        <li><a href="get-started.html#opt_ssl">2.2.4 SSL Encryption</a></li>
        <li><a href="get-started.html#opt_jdbc">2.2.5 JDBC Driver</a></li>
        <li><a href="get-started.html#opt_jms">2.2.6 JMS client</a></li>
        <li><a href="get-started.html#libraries_activemq">2.2.7 Libraries for ActiveMQ JMS</a></li>
     </ul>
     <li><a href="get-started.html#install">2.3 Installation</a></li>
     <li><a href="get-started.html#running">2.4 Running JMeter</a></li>
     <ul>
        <li><a href="get-started.html#classpath">2.4.1 JMeter's Classpath</a></li>
        <li><a href="get-started.html#template">2.4.2 Create Test Plan from Template</a></li>
        <li><a href="get-started.html#proxy_server">2.4.3 Using JMeter behing a proxy</a></li>
        <li><a href="get-started.html#non_gui">2.4.4 Non-GUI Mode</a></li>
        <li><a href="get-started.html#server">2.4.5 Server Mode</a></li>
        <li><a href="get-started.html#override">2.4.6 Overriding Properties Via The Command Line</a></li>
        <li><a href="get-started.html#logging">2.4.7 Logging and Error Messages</a></li>
        <li><a href="get-started.html#options">2.4.8 Full list of command-line options</a></li>
        <li><a href="get-started.html#shutdown">2.4.9 non-GUI shutdown</a></li>
     </ul>
     <li><a href="get-started.html#configuring_jmeter">2.5 Configuring JMeter</a></li>
  </ul>
  <li><a name="build-test-plan"></a><a href="build-test-plan.html">3. Building a Test Plan</a></li>
  <ul>
     <li><a href="build-test-plan.html#add_remove">3.1 Adding and Removing Elements</a></li>
     <li><a href="build-test-plan.html#load_save">3.2 Loading and Saving Elements</a></li>
     <li><a href="build-test-plan.html#config_element">3.3 Configuring Tree Elements</a></li>
     <li><a href="build-test-plan.html#save">3.4 Saving the Test Plan</a></li>
     <li><a href="build-test-plan.html#run">3.5 Running a Test Plan</a></li>
     <li><a href="build-test-plan.html#stop">3.6 Stopping a Test</a></li>
     <li><a href="build-test-plan.html#error_reporting">3.7 Error reporting</a></li>
  </ul>
  <li><a name="test_plan"></a><a href="test_plan.html">4. Elements of a Test Plan</a></li>
  <ul>
     <li><a href="test_plan.html#thread_group">4.1 Thread Group</a></li>
     <li><a href="test_plan.html#controllers">4.2 Controllers</a></li>
     <ul>
        <li><a href="test_plan.html#samplers">4.2.1 Samplers</a></li>
        <li><a href="test_plan.html#logic_controller">4.2.2 Logic Controllers</a></li>
        <li><a href="test_plan.html#test_fragments">4.2.3 Test Fragments</a></li>
     </ul>
     <li><a href="test_plan.html#listeners">4.3 Listeners</a></li>
     <li><a href="test_plan.html#timers">4.4 Timers</a></li>
     <li><a href="test_plan.html#assertions">4.5 Assertions</a></li>
     <li><a href="test_plan.html#config_elements">4.6 Configuration Elements</a></li>
     <li><a href="test_plan.html#preprocessors">4.7 Pre-Processor Elements</a></li>
     <li><a href="test_plan.html#postprocessors">4.8 Post-Processor Elements</a></li>
     <li><a href="test_plan.html#executionorder">4.9 Execution order</a></li>
     <li><a href="test_plan.html#scoping_rules">4.10 Scoping Rules</a></li>
     <li><a href="test_plan.html#properties">4.11 Properties and Variables</a></li>
     <li><a href="test_plan.html#using_variables">4.12 Using Variables to parameterise tests</a></li>
    </ul>
 <li><a name="build-web-test-plan"></a><a href="build-web-test-plan.html">5. Building a Web Test Plan</a></li>
     <ul>
        <li><a href="build-web-test-plan.html#adding_users">5.1 Adding Users</a></li>
        <li><a href="build-web-test-plan.html#adding_defaults">5.2 Adding Default HTTP Request Properties</a></li>
        <li><a href="build-web-test-plan.html#adding_cookie_support">5.3 Adding Cookie Support</a></li>
        <li><a href="build-web-test-plan.html#adding_requests">5.4 Adding HTTP Requests</a></li>
        <li><a href="build-web-test-plan.html#adding_listener">5.5 Adding a Listener to View/Store the Test Results</a></li>
        <li><a href="build-web-test-plan.html#logging_in">5.6 Logging in to a web-site</a></li>
     </ul>
 <li><a name="build-adv-web-test-plan"></a><a href="build-adv-web-test-plan.html">6. Building an Advanced Web Test Plan</a></li>
     <ul>
        <li><a href="build-adv-web-test-plan.html#session_url_rewriting">6.1 Handling User Sessions With URL Rewriting</a></li>
        <li><a href="build-adv-web-test-plan.html#header_manager">6.2 Using a Header Manager</a></li>
     </ul>
 <li><a name="build-db-test-plan"></a><a href="build-db-test-plan.html">7. Building a Database Test Plan</a></li>
     <ul>
        <li><a href="build-db-test-plan.html#adding_users">7.1 Adding Users</a></li>
        <li><a href="build-db-test-plan.html#adding_requests">7.2 Adding JDBC Requests</a></li>
        <li><a href="build-db-test-plan.html#adding_listener">7.3 Adding a Listener to View/Store the Test Results</a></li>
     </ul>
 <li><a name="build-ftp-test-plan"></a><a href="build-ftp-test-plan.html">8. Building an FTP Test Plan</a></li>
     <ul>
        <li><a href="build-ftp-test-plan.html#adding_users">8.1 Adding Users</a></li>
        <li><a href="build-ftp-test-plan.html#adding_defaults">8.2 Adding Default FTP Request Properties</a></li>
        <li><a href="build-ftp-test-plan.html#adding_requests">8.3 Adding FTP Requests</a></li>
        <li><a href="build-ftp-test-plan.html#adding_listener">8.4 Adding a Listener to View/Store the Test Results</a></li>
     </ul>
 <li><a name="build-ldap-test-plan"></a><a href="build-ldap-test-plan.html">9a. Building an LDAP Test Plan</a></li>
  <ul>
    <li><a href="build-ldap-test-plan.html#adding_users">9a.1 Adding Users</a></li>
    <li><a href="build-ldap-test-plan.html#add_login">9a.2 Adding Login Config Element</a></li>
    <li><a href="build-ldap-test-plan.html#add_defaults">9a.3 Adding LDAP Request Defaults</a></li>
    <li><a href="build-ldap-test-plan.html#add_requests">9a.4 Adding LDAP Requests</a></li>
    <li><a href="build-ldap-test-plan.html#ResponseAssertion">9a.5 Adding a Response Assertion</a></li>
    <li><a href="build-ldap-test-plan.html#add_listener">9a.6 Adding a Listener to View/Store the Test Results</a></li>
  </ul>
 <li><a name="build-ldapext-test-plan"></a><a href="build-ldap-test-plan.html">9b. Building an Extended LDAP Test Plan</a></li>
  <ul>
    <li><a href="build-ldapext-test-plan.html#ext_adding_users">9b.1 Adding Users</a></li>
    <li><a href="build-ldapext-test-plan.html#add_login">9b.2 Adding LDAP Extended Request Defaults</a></li>
    <li><a href="build-ldapext-test-plan.html#add_extrequests">9b.3 Adding LDAP Requests</a></li>
    <li><a href="build-ldapext-test-plan.html#add_ldapext_listener">9b.4 Adding a Listener to View/Store the Test Results</a></li>
   </ul>
 <li><a name="build-ws-test-plan"></a><a href="build-ws-test-plan.html">10. Building a Webservice Test Plan</a></li>
 <li><a name="build-jms-point-to-point-test-plan"></a><a href="build-jms-point-to-point-test-plan.html">11. Building a JMS Point to point Test Plan</a></li>
 <li><a name="build-jms-topic-test-plan"></a><a href="build-jms-topic-test-plan.html">12. Building a JMS topic Test Plan</a></li>
 <li><a name="build-monitor-test-plan"></a><a href="build-monitor-test-plan.html">13. Building a Monitor Test Plan</a></li>
 <li><a name="listeners"></a><a href="listeners.html">14. Introduction to Listeners</a></li>
 <li><a name="remote-test"></a><a href="remote-test.html">15. Remote Testing</a></li>
 <li><a name="best-practices"></a><a href="best-practices.html">16. Best Practices</a></li>
  <ul>
     <li><a href="best-practices.html#use_latest_version">16.1 Always use latest version of JMeter</a></li>
     <li><a href="best-practices.html#sizing_threads">16.2 Use the correct Number of Threads</a></li>
     <li><a href="best-practices.html#put_cookie_manager">16.3 Where to Put the Cookie Manager</a></li>
     <li><a href="best-practices.html#put_auth_manager">16.4 Where to Put the Authorization Manager</a></li>
     <li><a href="best-practices.html#proxy_server">16.5 Using the HTTP(S) Test Script Recorder</a></li>
     <li><a href="best-practices.html#user_variables">16.6 User variables</a></li>
     <li><a href="best-practices.html#lean_mean">16.7 Reducing resource requirements</a></li>
     <li><a href="best-practices.html#beanshell_server">16.8 BeanShell server</a></li>
     <li><a href="best-practices.html#bsh_scripting">16.9 BeanShell scripting</a></li>
     <li><a href="best-practices.html#developing_scripts">16.10 Developing script functions in BeanShell, Javascript or Jexl etc.</a></li>
     <li><a href="best-practices.html#parameterising_tests">16.11 Parameterising tests</a></li>
     <li><a href="best-practices.html#jsr223">16.12 JSR223 Elements</a></li>
     <li><a href="best-practices.html#sharing_variables">16.13 Sharing variables between threads and thread groups</a></li>
     <li><a href="best-practices.html#properties">16.14 Managing properties</a></li>
  </ul>
 <li><a name="boss"></a><a href="boss.html">17. Help! My boss wants me to load test our web app!</a></li>

 <li><a name="component_reference"></a><a href="component_reference.html">18. Component Reference</a></li>
 <li><a name="functions"></a><a href="functions.html">19. Functions</a></li>
 <li><a name="regex"></a><a href="regular_expressions.html">20. Regular Expressions</a></li>
 <li><a name="hints"></a><a href="hints_and_tips.html">21. Hints and Tips</a></li>
 <li><a name="glossary"></a><a href="glossary.html">22. Glossary</a></li>
</ul>
</div>

</div><ul class="pagelinks"><li><a href="../index.html">Index</a></li><li><a href="intro.html">Next &gt;</a></li></ul></div><div class="footer"><div class="copyright">
            Copyright &copy;
            1999 &ndash;
            2015
            , Apache Software Foundation
          </div><div class="trademarks">Apache, Apache JMeter, JMeter, the Apache
            feather, and the Apache JMeter logo are
            trademarks of the
            Apache Software Foundation.
          </div></div></body></html>